/**********************************************************
Leo Engine - v0.1

file: leo_game.h
creation date: 17/04/2009
**********************************************************/
//---------------------------------------
#include "system/System.h"
//#include "os/GraphicsStructs.h"
#include <windows.h>
#include "os/Window/Window.h"
#include "os/Timer/Timer.h"
#include "os/Input/DirectInput.h"
//#include "os/Collision/CheckCollision.h"
//-------------------------------
namespace leo
{
//-------------------------------
class Graphics;

//-------------------------------
class LEO_API Game {

public:
	Game(HINSTANCE hins);
public:
	bool Init();
	bool Update();
	bool Draw();
	bool DeInit();
	HWND GetHwnd() { return wnd->getHwnd(); }
protected:

	//CheckCollision* collision;
	DirectInput* input;
	Window* wnd;
	Graphics* graph;
	HINSTANCE instance;
	Timer *timer;
	virtual bool onInit() = 0;
	virtual bool onUpdate() = 0;
	virtual bool onDraw() = 0;
	virtual bool onDeInit() = 0;
};
}